[INFO] fetching crate fitsrs 0.2.9...
[INFO] checking fitsrs-0.2.9 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate fitsrs 0.2.9 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate fitsrs 0.2.9 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate fitsrs 0.2.9
[INFO] finished tweaking crates.io crate fitsrs 0.2.9
[INFO] tweaked toml for crates.io crate fitsrs 0.2.9 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quick-error v2.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c47d1024ac2996884f38b35eeb9f5c5a795a144e5d71cf7e77e10450b5d156f1
[INFO] running `Command { std: "docker" "start" "-a" "c47d1024ac2996884f38b35eeb9f5c5a795a144e5d71cf7e77e10450b5d156f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c47d1024ac2996884f38b35eeb9f5c5a795a144e5d71cf7e77e10450b5d156f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c47d1024ac2996884f38b35eeb9f5c5a795a144e5d71cf7e77e10450b5d156f1", kill_on_drop: false }`
[INFO] [stdout] c47d1024ac2996884f38b35eeb9f5c5a795a144e5d71cf7e77e10450b5d156f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f66d0290669f3ee2d5b3f2714bcbd21d8ed2251d9ca797314431f82c98aced52
[INFO] running `Command { std: "docker" "start" "-a" "f66d0290669f3ee2d5b3f2714bcbd21d8ed2251d9ca797314431f82c98aced52", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]     Checking test-case v3.3.1
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking fitsrs v0.2.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `hex_digit1`
[INFO] [stdout]  --> src/card.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 |     character::complete::{char, space0, i64, hex_digit1},
[INFO] [stdout]   |                                              ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::character::complete::space0`
[INFO] [stdout]  --> src/hdu/header/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nom::character::complete::space0;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::character::complete::space1`
[INFO] [stdout]  --> src/hdu/header/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nom::character::complete::space1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_digit1`
[INFO] [stdout]  --> src/card.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 |     character::complete::{char, space0, i64, hex_digit1},
[INFO] [stdout]   |                                              ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::card::parse_integer`
[INFO] [stdout]    --> src/card.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     use crate::card::parse_integer;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::character::complete::space0`
[INFO] [stdout]  --> src/hdu/header/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nom::character::complete::space0;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::character::complete::space1`
[INFO] [stdout]  --> src/hdu/header/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nom::character::complete::space1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `white_space0` is never used
[INFO] [stdout]   --> src/card.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub(crate) fn white_space0(s: &[u8]) -> IResult<&[u8], &[u8]> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_undefined` is never used
[INFO] [stdout]   --> src/card.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) fn parse_undefined(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_character_string` is never used
[INFO] [stdout]    --> src/card.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) fn parse_character_string(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_logical` is never used
[INFO] [stdout]    --> src/card.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) fn parse_logical(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_float` is never used
[INFO] [stdout]    --> src/card.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) fn parse_float(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_card_value` is never used
[INFO] [stdout]    --> src/hdu/header/mod.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) fn parse_card_value(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/asciitable.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 42 |         unsafe {
[INFO] [stdout] 43 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/bintable.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 41 |         unsafe {
[INFO] [stdout] 42 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/image.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 43 |         unsafe {
[INFO] [stdout] 44 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fitsrs` (lib) due to 4 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `white_space0` is never used
[INFO] [stdout]   --> src/card.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub(crate) fn white_space0(s: &[u8]) -> IResult<&[u8], &[u8]> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_undefined` is never used
[INFO] [stdout]   --> src/card.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) fn parse_undefined(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_logical` is never used
[INFO] [stdout]    --> src/card.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) fn parse_logical(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_card_value` is never used
[INFO] [stdout]    --> src/hdu/header/mod.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) fn parse_card_value(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/asciitable.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 42 |         unsafe {
[INFO] [stdout] 43 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/bintable.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 41 |         unsafe {
[INFO] [stdout] 42 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/image.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 43 |         unsafe {
[INFO] [stdout] 44 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fitsrs` (lib test) due to 4 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f66d0290669f3ee2d5b3f2714bcbd21d8ed2251d9ca797314431f82c98aced52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f66d0290669f3ee2d5b3f2714bcbd21d8ed2251d9ca797314431f82c98aced52", kill_on_drop: false }`
[INFO] [stdout] f66d0290669f3ee2d5b3f2714bcbd21d8ed2251d9ca797314431f82c98aced52
[INFO] checking fitsrs-0.2.9 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate fitsrs 0.2.9 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate fitsrs 0.2.9 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate fitsrs 0.2.9
[INFO] finished tweaking crates.io crate fitsrs 0.2.9
[INFO] tweaked toml for crates.io crate fitsrs 0.2.9 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ee5d34f1eddce3a1534b8e461abfb589afc8272429fd4e0d803b0ff04bfcea0d
[INFO] running `Command { std: "docker" "start" "-a" "ee5d34f1eddce3a1534b8e461abfb589afc8272429fd4e0d803b0ff04bfcea0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ee5d34f1eddce3a1534b8e461abfb589afc8272429fd4e0d803b0ff04bfcea0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee5d34f1eddce3a1534b8e461abfb589afc8272429fd4e0d803b0ff04bfcea0d", kill_on_drop: false }`
[INFO] [stdout] ee5d34f1eddce3a1534b8e461abfb589afc8272429fd4e0d803b0ff04bfcea0d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 509e850051c00ceb4f53ae683b32fc874b56aeaa60d7aa4077400948081ff6a1
[INFO] running `Command { std: "docker" "start" "-a" "509e850051c00ceb4f53ae683b32fc874b56aeaa60d7aa4077400948081ff6a1", kill_on_drop: false }`
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]     Checking test-case v3.3.1
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking fitsrs v0.2.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `hex_digit1`
[INFO] [stdout]  --> src/card.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 |     character::complete::{char, space0, i64, hex_digit1},
[INFO] [stdout]   |                                              ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::character::complete::space0`
[INFO] [stdout]  --> src/hdu/header/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nom::character::complete::space0;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::character::complete::space1`
[INFO] [stdout]  --> src/hdu/header/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nom::character::complete::space1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |         self.tbcols = (0..self.tfields)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |         self.tforms = (0..self.tfields)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let first_char = &tform[0..1];
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 |                         let w = tform[1..]
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:159:39
[INFO] [stdout]     |
[INFO] [stdout] 159 |                         let w = tform[1..]
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                         let wd = tform[1..].trim_end().split('.').collect::<Vec<_>>();
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 |                         let wd = tform[1..].trim_end().split('.').collect::<Vec<_>>();
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:207:40
[INFO] [stdout]     |
[INFO] [stdout] 207 |                         let wd = tform[1..].trim_end().split('.').collect::<Vec<_>>();
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/header/extension/bintable.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |         self.tforms = (0..self.tfields)
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/header/extension/image.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let naxisn = (0..naxis)
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/hdu/header/mod.rs:54:65
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let v = Value::String(String::from_utf8_lossy(&card[8..]).to_string());
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/hdu/header/mod.rs:58:53
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let str = String::from_utf8_lossy(&card[8..]);
[INFO] [stdout]    |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/hdu/header/mod.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     &str[1..]
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/data/asciitable.rs:39:28
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let bytes = &bytes[start_byte_pos..end_byte_pos];
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/data/bintable.rs:38:28
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let bytes = &bytes[start_byte_pos..end_byte_pos];
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/data/image.rs:41:28
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let bytes = &bytes[start_byte_pos..end_byte_pos];
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_digit1`
[INFO] [stdout]  --> src/card.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 |     character::complete::{char, space0, i64, hex_digit1},
[INFO] [stdout]   |                                              ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::card::parse_integer`
[INFO] [stdout]    --> src/card.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     use crate::card::parse_integer;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::character::complete::space0`
[INFO] [stdout]  --> src/hdu/header/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nom::character::complete::space0;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::character::complete::space1`
[INFO] [stdout]  --> src/hdu/header/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nom::character::complete::space1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |         self.tbcols = (0..self.tfields)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |         self.tforms = (0..self.tfields)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let first_char = &tform[0..1];
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 |                         let w = tform[1..]
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:159:39
[INFO] [stdout]     |
[INFO] [stdout] 159 |                         let w = tform[1..]
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                         let wd = tform[1..].trim_end().split('.').collect::<Vec<_>>();
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 |                         let wd = tform[1..].trim_end().split('.').collect::<Vec<_>>();
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hdu/header/extension/asciitable.rs:207:40
[INFO] [stdout]     |
[INFO] [stdout] 207 |                         let wd = tform[1..].trim_end().split('.').collect::<Vec<_>>();
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/header/extension/bintable.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |         self.tforms = (0..self.tfields)
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/header/extension/image.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let naxisn = (0..naxis)
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/hdu/header/mod.rs:54:65
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let v = Value::String(String::from_utf8_lossy(&card[8..]).to_string());
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/hdu/header/mod.rs:58:53
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let str = String::from_utf8_lossy(&card[8..]);
[INFO] [stdout]    |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/hdu/header/mod.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     &str[1..]
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/data/asciitable.rs:39:28
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let bytes = &bytes[start_byte_pos..end_byte_pos];
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/data/bintable.rs:38:28
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let bytes = &bytes[start_byte_pos..end_byte_pos];
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hdu/data/image.rs:41:28
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let bytes = &bytes[start_byte_pos..end_byte_pos];
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `white_space0` is never used
[INFO] [stdout]   --> src/card.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub(crate) fn white_space0(s: &[u8]) -> IResult<&[u8], &[u8]> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_undefined` is never used
[INFO] [stdout]   --> src/card.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) fn parse_undefined(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_character_string` is never used
[INFO] [stdout]    --> src/card.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) fn parse_character_string(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_logical` is never used
[INFO] [stdout]    --> src/card.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) fn parse_logical(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_float` is never used
[INFO] [stdout]    --> src/card.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub(crate) fn parse_float(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_card_value` is never used
[INFO] [stdout]    --> src/hdu/header/mod.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) fn parse_card_value(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/asciitable.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 42 |         unsafe {
[INFO] [stdout] 43 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/bintable.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 41 |         unsafe {
[INFO] [stdout] 42 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/image.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 43 |         unsafe {
[INFO] [stdout] 44 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fitsrs` (lib) due to 4 previous errors; 25 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `white_space0` is never used
[INFO] [stdout]   --> src/card.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub(crate) fn white_space0(s: &[u8]) -> IResult<&[u8], &[u8]> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_undefined` is never used
[INFO] [stdout]   --> src/card.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) fn parse_undefined(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_logical` is never used
[INFO] [stdout]    --> src/card.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) fn parse_logical(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_card_value` is never used
[INFO] [stdout]    --> src/hdu/header/mod.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) fn parse_card_value(buf: &[u8]) -> IResult<&[u8], Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/asciitable.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 42 |         unsafe {
[INFO] [stdout] 43 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/bintable.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 41 |         unsafe {
[INFO] [stdout] 42 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/hdu/data/image.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let x_ptr = bytes as *const [u8] as *mut [u8];
[INFO] [stdout]    |                     --------------------------------- casting happend here
[INFO] [stdout] 43 |         unsafe {
[INFO] [stdout] 44 |             let x_mut_ref = &mut *x_ptr;
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fitsrs` (lib test) due to 4 previous errors; 24 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "509e850051c00ceb4f53ae683b32fc874b56aeaa60d7aa4077400948081ff6a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "509e850051c00ceb4f53ae683b32fc874b56aeaa60d7aa4077400948081ff6a1", kill_on_drop: false }`
[INFO] [stdout] 509e850051c00ceb4f53ae683b32fc874b56aeaa60d7aa4077400948081ff6a1
